package com.unitd.base.module.shoe.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.unitd.base.module.shoe.pojo.po.CustomerOrderPO;

import java.util.List;
import java.util.Map;

/**
 * SQLServer 数据库对应的商品信息业务逻辑接口类
 *
 * @author hudan
 * @version 1.0
 * @filename OrderService.java
 * @copyright www.pactera.com
 * @date 2020-08-27
 */
public interface OrderService extends IService<CustomerOrderPO> {

    /**
     * 根据条件查询商品列表
     *
     * @param param 商品查询条件
     * @return 商品列表
     */
    List<CustomerOrderPO> selectByBean(Map<String, Object> param);

    /**
     * 根据orderId更新blocked
     *
     * @param orderId 订单编号
     * @param blocked 订单状态（0未锁定，1锁定）
     * @return 商品列表
     */
    int updateBlocked(String orderId, String blocked);


    /**
     * 根据条件查询商品列表
     *
     * @param customerOrderPO 商品查询条件
     * @return 商品列表
     */
    int insertCustomerOrderPO(CustomerOrderPO customerOrderPO);

    /**
     * 根据条件查询商品列表
     *
     * @param datasource      需要读取的数据名称
     * @param customerOrderPO 商品查询条件
     * @return 商品列表
     */
    int insertCustomerOrderPO(String datasource, CustomerOrderPO customerOrderPO);

    /**
     * 根据条件查询订单信息
     *
     * @param orderNo 订单编号
     * @return 订单信息
     */
    CustomerOrderPO selectByOrderNo(String orderNo);

    /**
     * 根据条件查询订单信息
     *
     * @return 订单信息
     */
    List<CustomerOrderPO> selectToBeConfirmed();

    /**
     * 根据条件查询订单信息
     *
     * @return 订单信息
     */
    List<CustomerOrderPO> selectConfirmed();

    /**
     * 根据条件查询订单信息
     *
     * @return 订单信息
     */
    List<CustomerOrderPO> selectAll();
}
